1. Field of the Invention
The present invention relates to a system and method for compressing digital signals, and in particular, a system and method for enabling scalable encoding and decoding of digitized audio signals.
2. Related Art
Digital audio representations are now commonplace in many applications. For example, music compact discs (CDs), Internet audio clips, satellite television, digital video discs (DVDs), and telephony (wired or cellular) rely on digital audio techniques. Digital representation of an audio signal is achieved by converting the analog audio signal into a digital signal with an analog-to-digital (A/D) converter. The digital representation can then be encoded, compressed, stored, transferred, utilized, etc. The digital signal can then be converted back to an analog signal with a digital-to-analog (D/A) converter, if desired. The A/D and D/A converters sample the analog signal periodically, usually at one of the following standard frequencies: 8 kHz for telephony, Internet, videoconferencing; 11.025 kHz for Internet, CD-ROMs, 16 kHz for videoconferencing, long-distance audio broadcasting, Internet, future telephony; 22.05 kHz for CD-ROMs, Internet; 32 kHz for CD-ROMs, videoconferencing, ISDN audio; 44.1 kHz for Audio CDs; and 48 kHz for Studio audio production.
Typically, if the audio signal is to be encoded or compressed after conversion, raw bits produced by the A/D are usually formatted at 16 bits per audio sample. For audio CDs, for example, the raw bit rate is 44.1 kHz .times.16 bits/sample=705.6 kbps (kilobits per second). For telephony, the raw rate is 8 kHz.times.8 bits/sample=64 kbps. For audio CDs, where the storage capacity is about 700 megabytes (5,600 megabits), the raw bits can be stored, and there is no need for compression. MiniDiscs, however, can only store about 140 megabytes, and so a compression of about 4:1 is necessary to fit 30 min to 1 hour of audio in a 2.5" MiniDisc.
For Internet telephony and most other applications, the raw bit rate is too high for most current channel capacities. As such, an efficient encoder/decoder (commonly referred to as coder/decoder, or codec) with good compressions is used. For example, for Internet telephony, the raw bit rate is 64 kbps, but the desired channel rate varies between 5 and 10 kbps. Therefore, a codec needs to compress the bit rate by a factor between 5 and 15, with minimum loss of perceived audio signal quality.
With the recent advances in processing chips, codecs can be implemented either in dedicated hardware, typically with programmable digital signal processor (DSP) chips, or in software in a general-purpose computer. Therefore, it is desirable to have codecs that can, for example, achieve: 1) low computational complexity (encoding complexity usually not an issue for stored audio); 2) good reproduction fidelity (different applications will have different quality requirements); 3) robustness to signal variations (the audio signals can be clean speech, noisy speech, multiple talkers, music, etc. and the wider the range of such signals that the codec can handle, the better); 4) low delay (in real-time applications such as telephony and videoconferencing); 5) scalability (ease of adaptation to different signal sampling rates and different channel capacities--scalability after encoding is especially desirable, i.e., conversion to different sampling or channel rates without re-encoding); and 6) signal modification in the compressed domain (operations such as mixing of several channels, interference suppression, and others can be faster if the codec allows for processing in the compressed domain, or at least without full decoding and re-encoding).
Currently, commercial systems use many different digital audio technologies. Some examples include: ITU-T standards: G.711, G.726, G.722, G.728, G.723.1, and G.729; other telephony standards: GSM, half-rate GSM, cellular CDMA (IS-733); high-fidelity audio: Dolby AC-2 and AC-3, MPEG LII and LIII, Sony MiniDisc; Internet audio: ACELP-Net, DolbyNet, PictureTel Siren, RealAudio; and military applications: LPC-10 and USFS-1016 vocoders.
However, these current codecs have several limitations. Namely, the computational complexity of current codecs is not low enough. For instance, when a codec is integrated within an operating system, it is desirable to have the codec run concurrently with other applications, with low CPU usage. Another problem is the moderate delay. It is desirable to have the codec allow for an entire audio acquisition/playback system to operate with a delay lower than 100 ms, for example, to enable real-time communication.
Another problem is the level of robustness to signal variations. It is desirable to have the codec handle not only clean speech, but also speech degraded by reverberation, office noise, electrical noise, background music, etc. and also be able to handle music, dialing tones, and other sounds. Also, a disadvantage of most existing codecs is their limited scalability and narrow range of supported signal sampling frequencies and channel data rates. For instance, many current applications usually need to support several different codecs. This is because many codecs are designed to work with only certain ranges of sampling rates. A related desire is to have a codec that can allow for modification of the sampling or data rates without the need for re-encoding.
Another problem is that in multi-party teleconferencing, servers have to mix the audio signals coming from the various participants. Many codecs require decoding of all streams prior to mixing. What is needed is a codec that supports mixing in the encoded or compressed domain without the need for decoding all streams prior to mixing.
Yet another problem occurs in integration with signal enhancement functions. For instance, audio paths used with current codecs may include, prior to processing by the codecs, a signal enhancement module. As an example, in hands-free teleconferencing the signals coming from the speakers are be captured by the microphone, interfering with the voice of the local person. Therefore an echo cancellation algorithm is typically used to remove the speaker-to-microphone feedback. Other enhancement operators may include automatic gain control, noise reducers, etc. Those enhancement operators incur a processing delay that will be added to the coding/decoding delay. Thus, what is needed is a codec that enables a relatively simple integration of enhancement processes with the codec, in such a way that all such signal enhancements can be performed without any delay in addition to the codec delay.
A further problem associated with codecs is lack of robustness to bit and packet losses. In most practical real-time applications, the communication channel is not free from errors. Wireless channels can have significant bit error rates, and packet-switched channels (such as the Internet) can have significant packet losses. As such, what is needed is a codec that allows for a loss, such as of up to 5%, of the compressed bitstream with small signal degradation.
Whatever the merits of the above mentioned systems and methods, they do not achieve the benefits of the present invention.